/*
** Copyright (C) 2010 Calin Radoni
**
** This file is part of CHScanner.
**
** CHScanner is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** CHScanner is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with CHScanner. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once
#include "WorkCfg.h"

enum WorkCfgDefValType
{
	__wcdvArpPing,
    __wcdvFindWebServers,
	__wcdvFindNetworkPrinters,
	__wcdvWoL,
	__wcdvFindDHCPServers,
	__wcdvPromiscuousNodeScan,
	__wcdv6PingBcast
};

class WorkCfgDefVal : public WorkCfg
{
private:
	CString localRange;

	bool SetAsArpPing(void);
	bool SetAsFindWebServers(void);
	bool SetAsFindNetworkPrinters(void);
	bool SetAsWoL(void);
	bool SetAsFindDHCPServers(void);
	bool SetAsPromiscuousNodeScan(void);
	bool SetAsIPv6BroadcastPing(void);

public:
	WorkCfgDefVal(void);
	~WorkCfgDefVal(void);

	void SetLocalIPandMask(DWORD, DWORD);

	bool SetAs(WorkCfgDefValType);
};
